标签: pojo

什么构成POJO/POCO中的丰富域模型?

有什么区别

  • 一个简单的字段 - 加速器 - mutators
  • 丰富的类

什么构成了业务领域类中的丰富建模?

modeling class-design pojo poco

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

EJB vs Spring + POJO

EJB必须与Spring堆叠有什么优势?为什么我不能只使用Spring Entity Manager,Security和POJO来做EJB所做的事情?

java spring ejb pojo

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

这些是同义词,彼此的子集还是完全不同?

问题标题中提到的概念在某种程度上是同义词吗?主要差异在哪里(背景,结构,......)可以被视为另一个的子集?以下是维基百科的一些简要定义.

POJO(Plain Old Java Object) 维基百科

在计算软件中,POJO是Plain Old Java Object的首字母缩写.该名称用于强调给定对象是普通Java对象,而不是特殊对象,特别是不是Enterprise JavaBean.该术语由Martin Fowler,Rebecca Parsons和Josh MacKenzie于2000年9月创造:

"We wondered why people were so against using regular objects in their
 systems and concluded that it was
 because simple objects lacked a fancy
 name. So we gave them one, and it's
 caught on very nicely."
Run Code Online (Sandbox Code Playgroud)

Java Bean 维基百科

JavaBeans是Java的可重用软件组件,可以在构建器工具中以可视方式进行操作.实际上,它们是用符合特定约定的Java编程语言编写的类.它们用于将许多对象封装到单个对象(bean)中,以便它们可以作为单个bean对象而不是作为多个单独对象传递.JavaBean是一个可序列化的Java对象,具有一个无效的构造函数,并允许使用getter和setter方法访问属性.

价值对象 维基百科

数据传输对象(DTO),以前称为值对象或VO,是用于在软件应用程序子系统之间传输数据的设计模式.DTO通常与数据访问对象结合使用,以从数据库中检索数据.

商业对象 维基百科

业务对象是一种可理解的实体,是n层面向对象计算机程序中业务层内的一个actor.

有关:

DTO,VO,POJO,JavaBeans之间的区别? JavaBean和POJO有什么区别? DDD:实体和价值对象之间的差异有什么用?

java business-objects pojo javabeans value-objects

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

在尝试使用hibernate工具生成pojos或映射时,我得到了一个noclassdeffounderror

我正在尝试从我的数据库生成pojos但我在eclipse indigo 3.7.2上安装了hibernate工具3.4插件和hibernate 3.6.10库(它们似乎都是)在构建路径中出现以下错误

精简版 :

org.hibernate.console.HibernateConsoleRuntimeException: Received a NoClassDefFoundError, probably the console configuration classpath is incomplete or contains conflicting versions of the same class
Received a NoClassDefFoundError, probably the console configuration classpath is incomplete or contains conflicting versions of the same class
  java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.cfg.reveng.OverrideRepository
  Could not initialize class org.hibernate.cfg.reveng.OverrideRepository
    java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.cfg.reveng.OverrideRepository
    Could not initialize class org.hibernate.cfg.reveng.OverrideRepository
Run Code Online (Sandbox Code Playgroud)

来自项目构建路径的MY罐子(按顺序排列):

  • hibernate-distribution-3.6.10.Final\hibernate.jar文件
  • hibernate-distribution-3.6.10.Final\LIB \需要\ ANTLR-2.7.6.jar
  • hibernate-distribution-3.6.10.Final\LIB \需要\公地集合-3.1.jar
  • hibernate-distribution-3.6.10.Final\LIB \所需\的dom4j-1.6.1.jar
  • hibernate-distribution-3.6.10.Final\LIB \需要\ Javassist进行-3.12.0.GA.jar
  • hibernate-distribution-3.6.10.Final\LIB \需要\ JTA-1.1.jar …

eclipse code-generation hibernate pojo hibernate-tools

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

如何从一个不受spring管理的pojo中获取Spring Context中的Property?

我有一个在spring context xml文件中配置的属性文件.我从文件加载值很好.我试图从常规pojo中加载属性文件中的属性,而不是弹簧管理.由于Spring已经加载了该属性,我想知道是否有办法获取值而不是我必须手动加载属性文件?

spring properties pojo

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

将hibernate投影映射到java POJO模型

过去几周我一直在使用spring和hibernate,我一直在那里学习新东西.

现在我有一个问题,我想用Hibernate中的Projections来解决.

假设有一个模型Person,该模型有很多Car.以下是类定义大致如下所示:

public class Person implements java.io.Serializable {
    private Integer id;
    private String name;
    private List<Car> cars;
    private Integer minYear; // Transient
    private Integer maxYear; // Transient
}

public class Car implements java.io.Serializable {
    private Integer id;
    private Integer year;
}
Run Code Online (Sandbox Code Playgroud)

这里的问题是我希望得到每个人的minYear(maxYear)Person最早的年份(最近一年)cars.

后来我找到了一个使用的解决方案,Projections但我偶然发现org.hibernate.QueryException: could not resolve property: minYear of: model.Person,这是db操作的代码:

Criteria criteria = sessionFactory.getCurrentSession().createCriteria("model.Person");
            criteria.add(create(personInstance));
            criteria.createAlias("minYear", "minYear");
            criteria.setProjection(Projections.min("cars.year").as("minYear"));
Run Code Online (Sandbox Code Playgroud)

无论如何都要将聚合值存储在transient方法中,Projections因为我只想尽可能避免使用普通的SQL和HQL.

java spring hibernate hql pojo

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

为什么默认构造函数需要在实例化Object时在具有Parameterized Constructor的POJO文件中声明?

假设我有一个POJO类用户和一个constuctor public User(int id, String name){...}.但是当我实例化User对象时就像User u=new User()没有参数一样,Eclipse会给出错误,如构造函数User()未定义.但是当我没有参数化的构造函数时,它工作正常.有人可以解释为什么它需要定义默认构造函数?

java constructor pojo default-constructor

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

失败的hibernate映射:表X中的关联指的是未映射的类Y.

嗨,我正在尝试映射这个pojo Rent类来创建他的hibernate映射文件.

Rent.java(POJO):

  public class Rent implements Serializable {

     private static final long serialVersionUID = 1L;

       Employee employee;
       Client client;
       Car car;

    /* + getter and setter... */
  } 
Run Code Online (Sandbox Code Playgroud)

我的目的是创建一个web应用程序,用户可以设置哪个员工租了一辆车到客户端.所以这是我试过的实现

Rent.hbm.xml:

<hibernate-mapping>
  <class name="com.google.musicstore.domain.Rent" table="RENT">
    <id name="id" column="RENT_ID">
       <generator class="native"/>
    </id>
    <one-to-one name="car"  class="com.project.domain.Car"
       cascade="save-update">
    </one-to-one>
    <one-to-one name="client"  class="com.project.domain.Client"
       cascade="save-update">
    </one-to-one>
    <many-to-one name="employee"  class="com.project.domain.Employee"
       cascade="save-update">
    </many-to-one>
  </class>
</hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)

但它给了我这个错误:

   [java] Initial SessionFactory creation failed.org.hibernate.MappingException: An association from the table RENT refers to an unmapped class: com.project.domain.Employee
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?感谢您的帮助.

我还映射了hibernate.cfg.xml …

hibernate hbm pojo hibernate-mapping

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

使用复杂的JSON改进POST请求

我是Retrofit的新手并尝试使用Retrofit发出POST请求.我的POST请求有一个复杂的JSON正文,如下所示:

负载:

{
    "user": {
        "personal_info": {
            "first_name": "Walter",
            "last_name": "White",
            "date_of_birth": "1972-01-03 00:00:00 PST"
        },
        "address_info": {
            "address_1": "308 NEGRA ARROYO LANE",
            "address_2": "#",
            "city": "ALBUQUERQUE",
            "state": "NM",
            "zip_code": "87104"
        },
        "contact_info": {
            "email": "wwhite@test.com",
            "telephone": "88888888888",
            "telephone_type_id": 1
        },
        "employment_info": {
            "employer_name": "SELF",
            "employment_status_id": 7,
            "annual_income": 9000000000000000,
            "monthly_income": 750000000000,
            "employment_start_year": 0,
            "employment_start_month": 0
        }
      }
    }
Run Code Online (Sandbox Code Playgroud)

我将接口定义为

    @POST("/users")
    void registerUser(@Body User User, Callback<User> cb);
Run Code Online (Sandbox Code Playgroud)

我不确定我的User类应该是什么样子,我希望有效负载与上面提到的相同,到目前为止,我的User类为

public class User {


    @SerializedName("personal_info")
    private PersonalInfo personalInfo;
    @SerializedName("address_info")
    private AddressInfo addressInfo;
    @SerializedName("contact_info") …
Run Code Online (Sandbox Code Playgroud)

android json pojo gson retrofit

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

使用属性在Kotlin中定义默认构造函数和辅助构造函数

我正在尝试在Kotlin中创建一个简单的POJO(POKO?)类,使用默认的空构造函数和带参数的辅助构造函数,它们提供属性

这不会给我firstNamelastName属性:

class Person() {

    constructor(firstName: String?, lastName: String?) : this()
}
Run Code Online (Sandbox Code Playgroud)

这给了我属性,但它们在实例化后没有设置:

class Person() {

    constructor(firstName: String?, lastName: String?) : this()

    var firstName: String? = null
    var lastName: String? = null
}
Run Code Online (Sandbox Code Playgroud)

这给了我一个编译错误,说"不允许在辅助构造函数参数上使用'var'.":

class Person() {

    constructor(var firstName: String?, var lastName: String?) : this()
}
Run Code Online (Sandbox Code Playgroud)

那么,这是怎么做到的?如何拥有默认构造函数和带参数和属性的辅助构造函数?

constructor pojo kotlin

4
推荐指数
2
解决办法
6509
查看次数