相关疑难解决方法(0)

将Hibernate代理转换为真实实体对象

在Hibernate期间Session,我正在加载一些对象,并且由于延迟加载,其中一些被加载为代理.一切都好,我不想把懒人装完.

但后来我需要通过RPC将一些对象(实际上是一个对象)发送到GWT客户端.碰巧这个具体对象是代理.所以我需要把它变成一个真实的对象.我在Hibernate中找不到类似"实现"的方法.

如何知道他们的类和ID,将一些对象从代理转换为实际?

目前,我看到的唯一解决方案是从Hibernate的缓存中驱逐该对象并重新加载它,但由于许多原因它真的很糟糕.

java proxy hibernate jpa lazy-loading

153
推荐指数
6
解决办法
9万
查看次数

如何使用BeanUtils.copyProperties?

我试图将属性从一个bean复制到另一个bean.这是两个bean的签名:

SearchContent:

public class SearchContent implements Serializable {

    private static final long serialVersionUID = -4500094586165758427L;

    private Integer id;
    private String docName;
    private String docType;
    private String docTitle;
    private String docAuthor;
    private String securityGroup;
    private String docAccount;
    private Integer revLabel;

    private String profile;
    private LabelValueBean<String> workflowStage;

    private Date createDate;
    private Date inDate;

    private String originalName;
    private String format;
    private String extension;
    private Long fileSize;

    private String author;

    private LabelValueBean<String> entity;
    private LabelValueBean<String> brand;
    private LabelValueBean<String> product;
    private LabelValueBean<String> collection;
    private …
Run Code Online (Sandbox Code Playgroud)

java properties apache-commons-beanutils

14
推荐指数
2
解决办法
8万
查看次数

java.lang.UnsupportedOperationException:尝试序列化java.lang.Class:org.hibernate.proxy.HibernateProxy

我正在使用带有JSF应用程序的Restful Web服务(Jersy实现),并使用Json获取如下数据:

    carObjectDao = new GenericDAO<carObject>(carObject.class);
    List<carObject> allCars = carObjectDao.readAll();
    Gson gson = new Gson();
    String carString = gson.toJson(allCars);
    System.err.println(carString );
    return carString ;
Run Code Online (Sandbox Code Playgroud)

我在调试模式下运行应用程序,allCars正确填充数据,但之后抛出异常:

java.lang.UnsupportedOperationException: Attempted to serialize java.lang.Class: org.hibernate.proxy.HibernateProxy. Forgot to register a type adapter?
Run Code Online (Sandbox Code Playgroud)

我不知道异常的根本原因

json hibernate jax-rs java-ee

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

如何在 JSON 响应中仅获取实体 ID 而不是整个实体

我看到了几个类似的问题,但没有一个对我有用的答案。我正在努力将现有项目转换为使用 Hibernate。我使用 Mysql 作为数据库。我有一堂这样的课:

@Entity
@Table(name = "user")
public class User {

   @Id
   @GeneratedValue(strategy = GenerationType.IDENTITY)
   @Column(name = "user_id")
   private Long userId;

   @ManyToOne
   @JoinColumn(name = "group_id_user")
   private Group group;

   @Column(name = "name")
   private String name;

   ...
   // getters and setters....   
}
Run Code Online (Sandbox Code Playgroud)

和这样的类:

@Entity
@Table(name = "group")
public class Group {

   @Id
   @GeneratedValue(strategy = GenerationType.IDENTITY)
   @Column(name = "group_id")
   private Long groupId;

   @Column(name="group_name")
   private String groupName;

   ...
   // getters and setters....   
}
Run Code Online (Sandbox Code Playgroud)

User当我从数据库中获取项目时,我将其转换为 JSON 并最终得到以下格式的结果:

{
    "user": {
        "userId": 1,
        "group": …
Run Code Online (Sandbox Code Playgroud)

java json annotations hibernate

5
推荐指数
2
解决办法
7954
查看次数