草庐IT

jpa-annotations

全部标签

java - JPA ManyToMany 产生的空连接表

我有一个应用程序,我试图在其中使用Hibernate作为我的JPA提供程序在2个实体之间实现ManyToMany关系。我正在尝试的示例是单向的,其中一个相机可以有多个镜头,而镜头可以装入多个相机。以下是我的实体类...(只是粘贴其中的相关部分)相机:@Entity@Table(name="CAMERAS")publicclassCameraimplementsSerializable{@Id@GeneratedValue(strategy=GenerationType.AUTO)@Column(name="CAM_ID",nullable=false)privateLongcamId;

performance - JPA+Hibernate(J2SE) @OneToMany - 数百万条记录减慢了添加新对象的速度

我在J2SE项目中使用JPA+Hibernate和PostGreSQL数据库。我有2个实体A和B。A与B具有@OneToMany关系。在我的域模型中,A可能引用数百万个B。当我将新对象添加到集合中时,需要几分钟才能完成。@OneToMany(cascade=CascadeType.PERSIST)Collectionfoo=newArrayList();//mightcontainmillionsofrecords//...//thistakesalotoftimefoo.add(newB());我认为JPA在插入新对象之前获取整个集合。是否可以配置关系,以便通过向集合添加新对象时不执

java - 使用 JPA 在 GAE 中保存许多实体

我将JPA与GoogleAppEngine结合使用。假设我有一个非常简单的@Entity,由一个键和一个字符串组成,仅此而已。我现在创建了10000个这样的实体,将它们放在一个列表中,现在想存储所有这些实体。如果我尝试使用EntityManagerem和for循环遍历所有实体的List...for(MyEntityentity:listOfAllEntities){em.persist(entity);}..我会得到一个IllegalArgumentException:java.lang.IllegalArgumentException:can'toperateonmultipleen

java - 如何在不使用 Spring/JPA/Hibernate 的情况下传递 JDBC 连接

我们有一个JavaJ2EE应用程序,它为每个数据库行插入/更新使用单独的Web服务调用。事实证明这太慢了。他们让我来“快速”修复它。我计划将所有Web服务调用转换为纯JDBC。为此,我需要从池中获取JDBC连接,然后以多种不同的方法使用它。我需要在多个DAO中使用相同的JDBC连接,将它们串在一起形成一个数据库事务。我可以明确地将JDBC连接传递给需要它的每个DAO,但这需要我更改很多方法签名,再加上很多单元测试(这与“快速”部分背道而驰)。我正在尝试想出一个好方法,将JDBC连接放在某个地方,然后只需在需要它的方法中获取它,而不必在任何地方显式地传递它。我们不能在这个项目上使用Spr

java - JPA 2.0 hibernate @OneToMany + @MapKeyJoinColumn

OneToMany+MapKeyJoinColumn对我不起作用,请提出我做错了什么。我正在使用JPA2.0+Hibernate3.6.1并想映射下表:上课:@EntitypublicclassQuestion{//idandotherfields@OneToMany(mappedBy="question",cascade=CascadeType.ALL)@MapKeyJoinColumn(name="language_id")privateMapstatements=newHashMap();}@EntitypublicclassStatement{@IdprivateLongid;

java - 具有延迟加载业务标识符的 Hibernate/JPA equals() 和 hashCode()

我想知道如何为Hibernate实体编写正确的equals()和hashCode(),这些实体与作为业务key很重要的另一个实体具有延迟加载的ManyToOne关系。请注意,我已经阅读了theHibernatedocumentationonthistopic我知道我必须/不应该使用对象ID。为了澄清,这里有一个例子:publicclassBusinessEntityimplementsSerializable{//forsimplicity,herejusttheimportantpartprivateStrings;@ManyToOne(fetch=FetchType.LAZY)pr

java - JPA。 JoinTable 和两个 JoinColumns

我需要创建表PORTATION_MODEL_SET。我需要从表portation创建两个键,从表phone_model创建一个键我有代码:@Entity@Table(name="PORTATION")@SecondaryTable(name="PORTATION")@Cache(usage=CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)publicclassJDBCPortationimplementsPortation{@Id@GeneratedValue(strategy=GenerationType.AUTO)privateInteg

java - JDBCRealm 与 JPA

JavaEE6的新手,我正在尝试设置JDBCRealm。许多示例建议在SQL中手动制作保存用户/组信息的表。有没有更标准的“JPA”方法呢?Glassfish期望的表格不适合您最终使用的表格结构,例如,OneToMany映射(这是我希望我可以使用的)。我读到Glassfish仍然使用JDBC来完成JDBCRealm,这可以解释原因。我偶然发现了这个博客,它提出了一种使用JPA的方法。http://www.codeproject.com/Articles/238779/J2EE-JDBC-based-authentication-with-JPA-Entities-i但是是否有一种“官方

java - 如何在 JPA 2.0 元模型中自动生成列名作为静态最终字符串?

在一些JPA注释中,我想在代码中直接使用字段名称来代替容易出错的字符串:@javax.persistence.OrderBy(value=User_.registrationDate.getName())publicListgetPlugConfigs(){...}但上面的代码不会编译,因为要获取名称,我必须使用不是常量表达式的函数(User_是JPA@StaticMetamodel生成的)。是否可以以任何方式为此使用元模型,或者我是否坚持使用直接字符串常量?有没有办法为元模型自动生成这样的字符串常量?(我正在使用maven-processor-plugin生成)

java - Spring Data (JPA) Repository 是线程安全的吗? (也就是 SimpleJpaRepository 线程安全的)

我正在使用SpringData(JPA)repository处理CRUD样板文件。我这样定义我的存储库接口(interface):importorg.springframework.data.repository.CrudRepository;publicinterfaceFooRepositoryextendsCrudRepository{publicFoofindByXAndYAndZ(Xx,Yy,Zz);}然后Spring自动神奇地为我生成了所述接口(interface)的实现。我们得到的是一个代理,但我相信最终我们会得到一个org.springframework.data.jp