друзья, я пытаюсь использовать JPAItem
писатель в своем весеннем пакетном приложении и сталкиваюсь с некоторыми исключениями при написании моей первой записи. У меня есть сущности родительских (один) ко многим (дочерним) отношениям. Я определил их соответственно. мои таблицы БД имеют составные первичные ключи.
Я чувствую себя как сгенерированные сущности (при использовании некоторых утилит через eclipse по умолчанию была предоставлена опция встроенного идентификатора, и я почувствовал, что один подход не работает, так как я продолжаю получать определение дублирующего ключа поэтому я решил переключиться на опцию IDclass, которая, как мне кажется, работает. Проблемы:
- auto-id действительно генерировал, хотя я добавил сгенерированную аннотацию значений. После этого я узнал, что последний спящий режим, для которого нам нужно несколько настроек для этой аннотации, чтобы пройти через это исключение.
Теперь я получаю исключение ниже. Я путаюсь с этим, и я продолжал проверять тип данных с полями в классе vs и мой тип базы данных. таблица базы данных имеет BigInt. в моих сущностях, я имею их как Long / long, не может пройти через ниже error
org.hibernate.PropertyAccessException: Не удалось установить поле значение [POST_INSERT_INDICATOR] по отражению: [class entity.Table1PK.empl oyeeId] установщик
org.hibernate.PropertyAccessException: не удалось установить значение поля [POST_INSERT_INDICATOR] значение путем отражения: [class entity.Table1PK.employeeId]]
@Entity(name="T_CONTB_ID")
@Table(name="T_CONTB_ID" , schema = "myschema")
@IdClass(Table2PK.class)
public class Table2 implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name="BATCH_ID", insertable=false, updatable=false)
private Long batchId;
@Id
@Column(name="employee_Id", insertable=false, updatable=false)
private Long employeeId;
@Id
@GeneratedValue(strategy= GenerationType.AUTO,generator="native")
@GenericGenerator(name = "native",strategy = "native")
@Column(name="CONTRIB_ID")
private Long contribId;
@ManyToOne
@JoinColumns({
@JoinColumn(name="BATCH_ID", referencedColumnName="BATCH_ID"),
@JoinColumn(name="employee_Id", referencedColumnName="employee_Id")
})
private Table1 TEmployeeUpd;
}
public class Table2PK implements Serializable {
//default serial version id, required for serializable classes.
private static final long serialVersionUID = 1L;
private Long batchId;
private Long employeeId;
private Long contribId;
public Table2() {
}
//hashcode ,equals and getters/setters excluded
}
@Entity(name="T_EMP_ID")
@Table(name="T_EMP_ID", schema = "MySchema")
@IdClass(Table1PK.class)
public class Table1 implements Serializable {
@Id
@Column(name = "BATCH_ID")
private Long batchId;
@Id
@Column(name = "employee_Id")
@GeneratedValue(strategy= GenerationType.AUTO,generator="native")
@GenericGenerator(name = "native",strategy = "native")
private Long employeeId;
}
public class Table1PK implements Serializable {
private static final long serialVersionUID = 1L;
private Long batchId;
private Long employeeId;
public Table1PK() {
}
//getter/setters/hashcode and equals excluded
}