Hibernate XML マッピング構成で主キーのセッターを回避することは可能ですか? 注釈を使用する場合、setter メソッドを宣言する必要はありません。例を参照してください。Hibernate バージョン 4.1.2 を使用しています。
XML ベースの構成
public class Entity { private Integer id; public Integer getId() { return id; } } <class name="Language" table="language"> <id name="id" column="id"> <generator class="native" /> </id> </class>
Hibernate の初期化中に例外がスローされる
Caused by: org.hibernate.PropertyNotFoundException: Could not find a setter for property id in class net.kreuzman.eshop.core.domain.l10n.Language at org.hibernate.property.BasicPropertyAccessor.createSetter(BasicPropertyAccessor.java:252) at org.hibernate.property.BasicPropertyAccessor.getSetter(BasicPropertyAccessor.java:245) at org.hibernate.mapping.Property.getSetter(Property.java:325) at org.hibernate.tuple.entity.PojoEntityTuplizer.buildPropertySetter(PojoEntityTuplizer.java:444) at org.hibernate.tuple.entity.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:182) at org.hibernate.tuple.entity.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:82) ... 49 more
注釈ベースの構成
@Entity @Table(name="entity") public class Entity { @Id @Column(name="id") @GeneratedValue(strategy=GenerationType.AUTO) private Integer id; public Integer getId() { return id; } }
これはうまくいきます。