Tag: hibernate

使用hibernate与数据库连接时出错

我正在尝试使用hibernate在我的数据库上创建一个表。 这是我的代码 java对象 package com.digitek.students; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name=”studentInfo”) public class StudentInfo { @Id private int rollNo; public int getRollNo() { return rollNo; } public void setRollNo(int rollNo) { this.rollNo = rollNo; } public String getName() { return name; } public void setName(String name) { this.name = name; } private String […]

使用外键字段持久化实体时出错

我试着坚持数据库这个实体: @Entity @Table(name=”pessoa_juridica”) public class PessoaJuridica { @Id @Column(name = “id”) @GeneratedValue(strategy=GenerationType.IDENTITY) private Integer id; @Column(name=”cnpj”) @Order(value=1) private String cnpj; @Column(name=”razao_social”) @Order(value=2) private String razaoSocial; @OneToOne( fetch = FetchType.EAGER, cascade = {CascadeType.ALL} ) @Order(value=3) @JoinColumn(name=”contato”) private Contato contato; } 但是当我用表单打开视图时,我收到此错误: org.springframework.beans.NullValueInNestedPathException: Invalid property ‘pessoaJuridica.contato’ of bean class [com.spring.loja.model.cliente.persistence.model.Cliente]: Could not instantiate property type [java.lang.Integer] to […]

Hibernate ManyToMany和超类映射问题

我需要在Hibernate中创建一个关系,链接三个表:Survey,User和Group。 用户或组可以看到调查,组是多个用户的forms。 我的想法是为User和Group创建一个超类,并在该超类和Survey之间创建一个ManyToMany关系。 我的问题是Group,不是映射到表,而是映射到视图,所以我不能在几个表中拆分Group的字段 – 如果我创建了一个公共超类,会发生这种情况。 我考虑过创建一个通用接口,但不允许映射到它们。 我可能最终会找到一个两个关系的解决方案(Survey-User和Survey-Group),但我不太喜欢这种方法。 我还想过创建一个看起来像这样的表: Survey Id | ElementId | Type ElementId将是Group或UserId,类型是它的类型。 有谁知道如何使用hibernate注释实现它? 还有其他想法吗? 非常感谢

JPA / Hibernate:具有多个持久性单元的模式生成

我有一个应用程序,它使用一组位于2个不同数据库中的JPA实体。 我用多个持久性单元配置它。 问题是我想使用模式生成自动生成模式,并且在两个数据库中都创建了所有实体。 我有两种PU: 而且,是的,我想使用元数据自动获取实体。 我不想提供手动脚本,因为我需要让它与实体保持同步。 有没有办法标记哪个实体由哪个PU生成? -edit:请注意,在@Table上添加“schema”属性并不能解决问题,因为每个PU都会尝试在正确的模式中创建相同的实体,并且会因为表已经存在而出现错误。

Hibernate Sequence Id Specification

我有这个注释来指定序列ID: @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = “parametro_seq_gen”) @SequenceGenerator(name = “parametro_seq_gen”, sequenceName = “PARAMETROS_SQ”, allocationSize = 1, initialValue = 1) 我发现在我的所有实体上重复都非常冗长。 有没有办法创建自定义注释或什么? 我只想指定序列名称 。

org.postgresql.util.PGobject无法强制转换为org.postgis.PGgeometry

当我尝试从PostGIS数据库加载点时,我得到以下exception: Caused by: java.lang.ClassCastException: org.postgresql.util.PGobject at org.hibernatespatial.postgis.PGGeometryUserType.convert2JTS(PGGeometryUserType.java:75) at org.hibernatespatial.AbstractDBGeometryType.nullSafeGet(AbstractDBGeometryType.java:123) at org.hibernatespatial.GeometryUserType.nullSafeGet(GeometryUserType.java:169)

Hibernate / JPA,保存新实体,同时仅在@OneToOne关联上设置id

我有两个实体, class A { @OneToOne B b; } class B { … lots of properties and associations … } 当我创建新的A()然后保存时,我只想设置b的id。 所以新的A()。setB(new B()。setId(123)) 。 然后保存并让数据库保留它。 我真的不需要或者想要首先从数据库中获取整个B,以填充A的实例。 我记得这曾经工作过,但是当我测试的时候却没有。 我也尝试过Cascade All 。

Hibernate – 将java.util.Calendar映射到MySQL BIGINT

我的实体中有一个Calendar字段 @Column(nullable = false) private Calendar transmissionDate; 这需要毫秒精度。 就像,Hibernate生成一个模式,将该字段映射到 +——————-+————–+——+—–+———+ | Field | Type | Null | Key | Default | +——————-+————–+——+—–+———+ | transmission_date | datetime | NO | | NULL | +——————-+————–+——+—–+———+ 在MySQL中。 MySQL中的datetime类型在第二个之后丢弃所有内容 ,因此我失去了精度。 我一直在使用的解决方案是 @Column(nullable = false) private Long transmissionDate; 并在需要时从中生成Calendar实例。 这是一个巨大的麻烦,我想知道Hibernate是否具有可以克服它的function。 这个问题展示了如何使用自定义类型,但是,实现它,Hibernate仍然映射到datetime列类型。 如何在我的实体中仍然使用Calendar类型时保持毫秒精度?

使用TIMESTAMPDIFF的JPA Hibernate公式中的SQL Literal

对于使用@Formula定义伪列的JPA实体: @Formula(“TIMESTAMPDIFF(SECOND, dateColA, dateColB)”) private Long duration; 这里预计SECOND将被视为常量字面值(使用MySQL),但是,在生成的JPQL中,它被视为列名,就像dateColA和dateColB一样,如: where … TIMESTAMPDIFF(entity_.SECOND, entity_.dateColA, entity_.dateColB) … 我想知道如何为SECOND文字正确生成JPQL? 谢谢

将@ManyToMany关联表与额外列映射

我的数据库包含3个表: person , document和peson_document 。 Person和Document具有多对多关系,并与包含添加列的person_document表连接。 这是我的映射: class Person { @Cascade(CascadeType.ALL) @OneToMany(mappedBy = “compositePK.person”, orphanRemoval = true) Set personDocuments; } class Document { @OneToMany(mappedBy = “compositePK.document”) Set personDocuments; } class PersonDocument { @EmbeddedId private CompositePK compositePK; @Column(name = “person_origin_id”) private String personID; @ManyToOne(fetch = FetchType.LAZY) private Provider provider; @Embeddable public static class CompositePK implements Serializable […]