标签: jpa-2.0

JPA 标准谓词条件

我有以下代码片段用于构建条件生成器的条件。

想知道是否有任何方法可以使其更好,因为我将有更多的条件和相同的条件将用于获取记录计数。

任何见解都是非常值得赞赏的

private List <Product> getProducts(MultivaluedMap params) throws JSONException {

    CriteriaBuilder criteriaBuilder = getEntityManager().getCriteriaBuilder();
    CriteriaQuery <Product> criteriaQuery = criteriaBuilder.createQuery(Product.class);

    Root <Product> root = criteriaQuery.from(Product.class);

    List <Predicate> p = new ArrayList <Predicate> ();
    Predicate prodIdPredicate, prodNamePredicate;

    JSONObject inputJSON = new JSONObject(params);

    if (inputJSON.isNull("filter") == false) {
        JSONObject filter = inputJSON.getJSONObject("filter");
        JSONArray filters = filter.getJSONArray("filters");
        for (int i = 0; i < filters.length(); i++) {

            JSONObject j = (JSONObject) filters.get(i);
            if (j.getString("field").equals("prodId")) {
                prodIdPredicate = criteriaBuilder.like(root.get(Product_.prodId), j.getString("value"));
                p.add(prodIdPredicate);
            }

            if (j.getString("field").equals("prodName")) …
Run Code Online (Sandbox Code Playgroud)

java json jpa criteria-api jpa-2.0

1
推荐指数
1
解决办法
1万
查看次数

Spring mongo 存储库 CRUD 与标准相结合

我的项目中有以下两个存储库类。

@Repository
public interface AuditRepository extends MongoRepository<AuditEntity, String> {
}
Run Code Online (Sandbox Code Playgroud)

还有一种具有更复杂的查询。

@Service
public class AuditCriteriaRepository {

  private final MongoTemplate mongoTemplate;

  public AuditCriteriaRepository(MongoTemplate mongoTemplate){
    this.mongoTemplate = mongoTemplate;
  }


  public List<AuditEntity > getAuditEntitiesByStatus(AuditStatus auditStatus, Instant instant){
    Query query = new Query();
    query.addCriteria(Criteria.where("status")
        .is(auditStatus)
    ).addCriteria(Criteria.where("createdAt").lt(instant));
    return mongoTemplate.find(query, AuditEntity.class);
  }
}
Run Code Online (Sandbox Code Playgroud)

我现在遇到的问题是它们是作为单独的类自动连接的,如果我可以将两者合并为一个存储库类,我会更愿意,这样我就可以拥有默认的 CRUD 选项并构建标准选项。

关于如何做到这一点有什么建议/提示吗?

java mongodb jpa-2.0 spring-boot

1
推荐指数
1
解决办法
4188
查看次数

JPA 2.0 Eclipse Link

我有这个代码

@Column(updatable=false)
@Enumerated(EnumType.STRING)
private ExamType examType;
Run Code Online (Sandbox Code Playgroud)

但是,当我通过合并更新它时,我仍然可以更改该值.为什么?

java orm jpa eclipselink jpa-2.0

0
推荐指数
1
解决办法
1942
查看次数

Hibernate JPA2.0和Maven

我尝试构建简单的应用程序,我想使用spring,wicket和JPA2.0(Hibernate).把所有这些放在一起我使用maven.我有hibernate的问题.下面是我的pom.xml

 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>comicsTest</groupId>
  <artifactId>comicsTest</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <repositories>
    <repository>
     <id>jboss-public-repository-group</id>
    <name>JBoss Public Repository Group</name>
    <url>https://repository.jboss.org/nexus/content/repositories/releases/</url>
    </repository>
  </repositories>


  <dependencies>
   <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>3.0.5.RELEASE</version>
    <exclusions>
     <exclusion>
      <artifactId>commons-logging</artifactId>
      <groupId>commons-logging</groupId>
     </exclusion>
    </exclusions>
   </dependency>
   <dependency>
    <groupId>wicket</groupId>
    <artifactId>wicket</artifactId>
    <version>1.2.7</version>
   </dependency>
   <dependency>
    <groupId>wicket</groupId>
    <artifactId>wicket-spring</artifactId>
    <version>1.2.7</version>
   </dependency>
   <dependency>
    <groupId>wicket</groupId>
    <artifactId>wicket-extensions</artifactId>
    <version>1.2.7</version>
   </dependency>
   <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-orm</artifactId>
    <version>3.0.5.RELEASE</version>
   </dependency>
   <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-aspects</artifactId>
    <version>3.0.5.RELEASE</version>
   </dependency>
   <dependency>
    <groupId>org.hiberante</groupId>
    <artifactId>hibernate-entitymanager</artifactId>
    <version>3.6.0.Final</version>
   </dependency>
  </dependencies>
  <modules>
  </modules>
  <properties>
   <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
</project>
Run Code Online (Sandbox Code Playgroud)

而我得到的只是

27.12.10 12:41:44 CET: Refreshing [/comicsTest/pom.xml]
27.12.10 12:41:48 CET: Downloaded …
Run Code Online (Sandbox Code Playgroud)

hibernate maven jpa-2.0

0
推荐指数
1
解决办法
3558
查看次数

Spring-JPA-Hibernate写入数据库失败(由于没有正在进行的事务而延迟身份插入)

我使用Spring 3.0.5.RELEASE和Hibernate 3.6.1.Final.从MySql DB读取是可以的,但是当我尝试写入它时,我在日志中得到了这个:

22 mars 2011 22:37:34,625 DEBUG InjectionMetadata: Processing injected method of bean 'thoughtDao': PersistenceElement for protected javax.persistence.EntityManager com.prosveta.backend.daoimpl.GenericDaoImpl.entityManager
22 mars 2011 22:37:34,625 DEBUG DefaultListableBeanFactory: Returning cached instance of singleton bean 'entityManagerFactory'
22 mars 2011 22:37:34,625 DEBUG DefaultListableBeanFactory: Creating shared instance of singleton bean 'org.springframework.transaction.config.internalTransactionAdvisor'
22 mars 2011 22:37:34,625 DEBUG DefaultListableBeanFactory: Creating instance of bean 'org.springframework.transaction.config.internalTransactionAdvisor'
22 mars 2011 22:37:34,640 DEBUG DefaultListableBeanFactory: Eagerly caching bean 'org.springframework.transaction.config.internalTransactionAdvisor' to allow for resolving potential circular references
22 mars 2011 22:37:34,656 DEBUG …
Run Code Online (Sandbox Code Playgroud)

mysql spring hibernate jpa-2.0

0
推荐指数
1
解决办法
3243
查看次数

JPA2.0和EE6使我的实体保持同步

我很擅长在企业应用程序中使用ORM工具.我们正在构建一个使用JPA 2.0和EE6的可扩展应用程序.我正在尝试找到一个很好的模式来构建我的应用程序,但我找不到一种方法来保持我的实体同步(我想集合访问实体的bean).

一个例子:

我有一个小组:

@Entity
public class Group implements Serializable
{
    @Id
    private Long id;
    @OneToMany
    private List<MyUser> myUsers;

    public Group()
    {
    }

    public Long getId()
    {
        return id;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public void addUser(MyUser u)
    {
        myUsers.add(u);
    }
}
Run Code Online (Sandbox Code Playgroud)

我有一个用户

@Entity
public class MyUser implements Serializable
{
    @Id
    private Long id;

    public MyUser()
    {
    }

    public Long getId()
    {
        return id;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

} …
Run Code Online (Sandbox Code Playgroud)

java stateless java-ee-6 jpa-2.0

0
推荐指数
1
解决办法
186
查看次数

在 JPA 中哪种类型的参数更适合使用“位置/命名”?

以 Hibernate 作为提供者。

在性能(或其他)方面,哪种类型的参数更适合使用?为什么?

位置的

TypedQuery<Client> query = em.createQuery
  ("FROM Client c WHERE c.clientId = ?1",Client.class);
query.setParameter(1, clientId);
Run Code Online (Sandbox Code Playgroud)

命名

TypedQuery<Client> query = em.createQuery
  ("FROM Client c WHERE c.clientId = :clientId",Client.class);
query.setParameter("clientId", clientId);
Run Code Online (Sandbox Code Playgroud)

java hibernate jpa-2.0 jakarta-ee

0
推荐指数
1
解决办法
1251
查看次数

java createNamedQuery - 实体管理器和持久性

我在 java 中收到此错误消息。

你们中有人知道我该如何解决这个问题吗?

HTTP Status 500 - Filter execution threw an exception

类型 Exception report

信息 Filter execution threw an exception

描述 The server encountered an internal error that prevented it from fulfilling this request.

例外

javax.servlet.ServletException: Filter execution threw an exception
root cause

java.lang.Error: Unresolved compilation problem: 
The method createNamedQuery(String) in the type EntityManager is not applicable for the arguments (String, Class<User>)

bg.tu_sofia.cinema.dao.UserDAOImpl.getAllUsers(UserDAOImpl.java:22)
bg.tu_sofia.cinema.dao.UserDAOImpl.usernameExists(UserDAOImpl.java:52)
bg.tu_sofia.cinema.filters.UserReconcilerFilter.doFilter(UserReconcilerFilter.java:54)
note The full stack trace of the root cause is available in the …
Run Code Online (Sandbox Code Playgroud)

java entitymanager jpa-2.0 jakarta-ee

0
推荐指数
1
解决办法
4864
查看次数

升级GlassFish 3.1.2.2以使用JPA 2.1

我正在使用GlassFish 3.1.2.2(由于操作系统限制,我无法升级到4).

我有兴趣将JPA 2.0升级到JPA 2.1 GlassFish 3.1.2.2.我怎样才能做到这一点?

jpa glassfish jpa-2.0 glassfish-3

0
推荐指数
1
解决办法
3091
查看次数

使用JPA选择Top 10

我想使用JPA的CriteriaBuilder根据下面的SQL语句选择前10条记录.

SELECT * from RECORDTABLE rt
where rt.LASTUPDATED > startDate
and rt.LASTUPDATE < endDate
order by rt.TOTALNUMBER asc;
Run Code Online (Sandbox Code Playgroud)

到目前为止,我在日期之间使用了谓词.

sql jpa-2.0

0
推荐指数
1
解决办法
4827
查看次数

是否可以在单独的类/文件中映射Hibernate的普通Java bean?

我有一个普通的模型类

public class Person {
   private int id;
   private String name;
   ...
}
Run Code Online (Sandbox Code Playgroud)

它是一个模型类,没有使用任何JPA/Hibernate注释.

有可能以某种方式告诉Hibernate使这个类持久化吗?

我想Person在查询,条件等中使用,但不想在该类中引入注释(它在没有JPA依赖的模型JAR中定义,并且我在不同的JAR中使用了DB代码);

java persistence hibernate jpa-2.0

0
推荐指数
1
解决办法
145
查看次数