标签: jpa-2.0

困惑:@NotNull vs @Column(nullable = false)

  1. 当它们出现在a的场/吸气器上时@Entity,它们之间有什么区别?(我通过Hibernate坚持实体).

  2. 每个人都属于哪个框架和/或规范?

  3. @NotNull位于javax.validation.constraints.在javax.validation.constraints.NotNulljavadoc中它说

    带注释的元素不能为null

    但是它没有提到元素在数据库中的表示,那么为什么我nullable=false要将约束添加到列中呢?

persistence hibernate hibernate-annotations ejb-3.0 jpa-2.0

225
推荐指数
4
解决办法
14万
查看次数

JPA 2.0 orphanRemoval = true删除Cascade时的VS.

我对JPA 2.0 orphanRemoval属性有点困惑.

当我使用JPA提供程序的数据库生成工具创建底层数据库DDL以获得ON DELETE CASCADE特定关系时,我想我可以看到它是必需的.

但是,如果数据库存在并且它已经存在ON DELETE CASCADE关系,那么这还不足以级联删除吗?什么是orphanRemoval除了做?

干杯

hibernate jpa cascade cascading-deletes jpa-2.0

172
推荐指数
7
解决办法
13万
查看次数

Spring Data-JPA与JPA:有什么区别?

我对Spring Data-JPA和JPA之间的区别感到有点困惑.我知道JPA它是使用流行的ORM技术将Java对象持久化到关系数据库的规范,即换句话说,JPA提供接口和其他ORM技术,实现称为JPA提供程序的接口,例如Hibernate.

现在究竟是什么Spring Data JPA.Spring Data JPA是否在JPA上增加了一些功能(接口),仍然只是指定它还是JPA提供者?

我看到Spring Data JPA围绕存储库工作(DAO层:如果我没有错).所以我的意思是使用'Spring Data JPA + Hibernate'或仅使用'Hibernate'指导它是如何不同的?

java orm hibernate jpa-2.0 spring-data-jpa

137
推荐指数
3
解决办法
7万
查看次数

JPA CascadeType.ALL不会删除孤儿

我在使用带有以下映射的JPA删除孤立节点时遇到问题

@OneToMany (cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy = "owner")
private List<Bikes> bikes;
Run Code Online (Sandbox Code Playgroud)

我遇到了挂在数据库周围的孤立角色的问题.

我可以使用注释org.hibernate.annotations.CascadeHibernate特定标记,但显然我不想将我的解决方案绑定到Hibernate实现.

编辑:似乎JPA 2.0将包括对此的支持.

java orm hibernate jpa jpa-2.0

130
推荐指数
6
解决办法
16万
查看次数

在JPA 2中,使用CriteriaQuery,如何计算结果

我对JPA 2很新,它是CriteriaBuilder/CriteriaQuery API:

CriteriaQuery 的javadoc

CriteriaQuery 在Java EE 6教程中

我想计算CriteriaQuery的结果而不实际检索它们.这是可能的,我没有找到任何这样的方法,唯一的方法是这样做:

CriteriaBuilder cb = entityManager.getCriteriaBuilder();

CriteriaQuery<MyEntity> cq = cb
        .createQuery(MyEntityclass);

// initialize predicates here

return entityManager.createQuery(cq).getResultList().size();
Run Code Online (Sandbox Code Playgroud)

这不是正确的方法......

有解决方案吗?

java criteriaquery jpa-2.0

109
推荐指数
5
解决办法
13万
查看次数

使用JPA存储Map <String,String>

我想知道是否可以使用注释attributes使用JPA2在以下类中持久保存地图

public class Example {
    long id;
    // ....
    Map<String, String> attributes = new HashMap<String, String>();
    // ....
}
Run Code Online (Sandbox Code Playgroud)

由于我们已经有一个预先存在的生产数据库,所以理想情况下,值attributes 可以映射到以下现有表:

create table example_attributes {
    example_id bigint,
    name varchar(100),
    value varchar(100));
Run Code Online (Sandbox Code Playgroud)

java orm jpa jpa-2.0

96
推荐指数
2
解决办法
6万
查看次数

如何生成JPA 2.0元模型?

本着与CriteriaQuery相关的类型安全的精神,JPA 2.0还有一个API来支持实体的Metamodel表示.

是否有人知道这个API的全功能实现(生成Metamodel而不是手动创建元模型类)?如果有人也知道在Eclipse中设置它的步骤,那将是非常棒的(我假设它就像设置注释处理器一样简单,但你永远不知道).

编辑:偶然发现了Hibernate JPA 2 Metamodel Generator.但问题仍然存在,因为我找不到jar的任何下载链接.

编辑2:少顷已经过去了,因为我问过这个问题,但我想我会回来,并添加一个链接到SourceForge上的Hibernate JPA模型生成项目

java jpa annotation-processing metamodel jpa-2.0

89
推荐指数
6
解决办法
10万
查看次数

JPA:单向多对一和级联删除

假设我有如下的单向 @ManyToOne关系:

@Entity
public class Parent implements Serializable {

    @Id
    @GeneratedValue
    private long id;
}

@Entity
public class Child implements Serializable {

    @Id
    @GeneratedValue
    private long id;

    @ManyToOne
    @JoinColumn
    private Parent parent;  
}
Run Code Online (Sandbox Code Playgroud)

如果我有一个父P和子C 1 ... C n引用回P,那么在JPA中有一个干净漂亮的方法可以在删除P时自动删除子C 1 ... C n(即entityManager.remove(P))?

我正在寻找的是类似于ON DELETE CASCADESQL 的功能.

java jpa many-to-one jpa-2.0

87
推荐指数
3
解决办法
9万
查看次数

如何组合验证两个或多个字段?

我正在使用JPA 2.0/Hibernate验证来验证我的模型.我现在有一种情况,必须验证两个字段的组合:

public class MyModel {
    public Integer getValue1() {
        //...
    }
    public String getValue2() {
        //...
    }
}
Run Code Online (Sandbox Code Playgroud)

该模型是无效的,如果这两个getValue1()getValue2()null和有效的,否则.

如何使用JPA 2.0/Hibernate执行此类验证?使用简单的@NotNull注释,两个getter都必须为非null才能通过验证.

java jpa bean-validation jpa-2.0

74
推荐指数
4
解决办法
7万
查看次数

JPA标准教程

我一直试图找到一个JPA Criteria API教程但是没有取得多大成功.你知道任何初学者吗?我想在Java5/Maven应用程序中开始使用它来构建复杂的搜索查询.

java annotations jpa jpa-2.0

68
推荐指数
3
解决办法
8万
查看次数