相关疑难解决方法(0)

POJO vs EJB vs EJB 3

有没有人有任何Java类可能看起来像POJO,EJB和EJB 3的例子?我正在尝试了解这些Java技术,但遇到了麻烦.我希望如果我能看到这三者的实现是什么样子会有所帮助.

java ejb pojo

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

在java中将一个pojo的所有属性复制到另一个pojo?

我有一些第三方罐子的POJO,我们不能直接向客户透露.

ThirdPartyPojo.java

public class ThirdPartyPojo implements java.io.Serializable {

    private String name;
    private String ssid;
    private Integer id;

    //public setters and getters

}
Run Code Online (Sandbox Code Playgroud)

上面的类是我们正在使用的第三方jar的一部分,如下所示.

ThirdPartyPojo result = someDao.getData(String id);
Run Code Online (Sandbox Code Playgroud)

现在我们的计划是ThirdPartyPojo第三方jar的一部分,我们不能ThirdPartyPojo直接向客户发送结果类型.我们想要创建自己的pojo,它将具有与ThirdPartyPojo.java类相同的属性.我们必须将ThirdPartyPojo.java中的数据设置为OurOwnPojo.java并返回,如下所示.

public OurOwnPojo getData(String id){

    ThirdPartyPojo result = someDao.getData(String id)

    OurOwnPojo response = new OurOwnPojo(result);

    return response;

    //Now we have to populate above `result` into **OurOwnPojo** and return the same.

}
Run Code Online (Sandbox Code Playgroud)

现在我想知道是否有具有相同性质的最佳方式OurOwnPojo.javaThirdPartyPojo.java和填充数据ThirdPartyPojo.javaOurOwnPojo.java并返回相同?

public class OurOwnPojo implements …
Run Code Online (Sandbox Code Playgroud)

java java-ee-6

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

为什么PasswordField在Vaadin中使用String而不是char []?

字符串容易受到密码值的影响.我注意到Vaadin PasswordField操纵密码String.

以下是默认构造函数PasswordField,

public PasswordField() {
  setValue("");
}
Run Code Online (Sandbox Code Playgroud)

我的问题:

  • PasswordField在Vaadin 使用是否安全?
  • 什么内部API可以确保密码的安全性?

java vaadin vaadin7

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

基于运行时属性对对象列表进行排序

我有一个VO的arraylist.这些对象具有许多属性和相应的get/set方法.我想根据我将在运行时获得的属性对此数组列表进行排序.让我详细解释一下.我的VO是这样的

public class Employee {
    String name;
    String id;

    private String getName() {
        return name;
    }

    private String getId() {
        return id;
    }
}
Run Code Online (Sandbox Code Playgroud)

我将在运行时获取一个字符串'sortType',它可以是'id'或'name'.我想根据字符串的值对列表进行排序.

我试图一起使用比较器和反射,但没有运气.可能是我没有正确使用它.我不想使用if循环并创建新的比较器类.还有其他想法吗?

try catch应该在新类中.这是工作代码.如果你想为比较器使用一个单独的类,请在@ Bohemian的评论中找到它.

        String sortType = "name"; // determined at runtime
        Collections.sort(results, new Comparator<Employee>() {
        public int compare(Employee c1, Employee c2) {
            try{
            Method m = c1.getClass().getMethod("get" + StringUtils.capitalize(sortType));
            String s1 = (String)m.invoke(c1);
            String s2 = (String)m.invoke(c2);
            return s1.compareTo(s2);
            }
            catch (Exception e) {
                return 0;
            }
        }
       });
Run Code Online (Sandbox Code Playgroud)

java sorting reflection list comparator

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

除了getter和setter之外,JavaBean还能有方法吗?

根据我在互联网上找到的定义,JavaBean是一个满足以下条件的Java类:

  • 所有实例属性都是私有的
  • 所有实例属性都有公共getter和setter
  • 该类有一个无参数构造函数
  • 该类实现了Serializable接口

我想知道的是,如果我将方法添加到Javabean中,我们仍然可以将其称为Javabean吗?

例如,我们可以说下面的类是JavaBean吗?

public class Person implements Serializable {
    private String name;
    public Person(){}
    public String getName(){...}
    public void setName(String name){...}
    public void sayHello(){}
}
Run Code Online (Sandbox Code Playgroud)

java javabeans

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

数据传输具有M:N或1:N关系的实体的对象

我有2个实体 - 电影和演员 - 有M:N的关系.在为这些实体设计DTO对象时,我不确定什么是正确的方法.

电影

@Entity
@Table(name = "Movies")
public class Movie extends AbstractBusinessObject {    

    private String name;
    private String short_info;    

    @ManyToMany
    private Map<String, Actor> cast;

}
Run Code Online (Sandbox Code Playgroud)

演员

@Entity
@Table(name = "Actors")
public class Actor extends Person{

    private String name;

    @ManyToMany(mappedBy = "cast")
    private Set<Movie> movies;

}
Run Code Online (Sandbox Code Playgroud)

现在关于DTO:我遇到了两种不同的方式来处理1:N和M:N关系.

仅保存ID:

public class MovieDto {    

    private String name;
    private String short_info;    

    // Long represents Actor's ID
    private Map<String, Long> cast;

}
Run Code Online (Sandbox Code Playgroud)

然而,正如我在这里所说的那样Instead of performing many remote calls on …

java web-applications dto

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

原语和包装器数据类型的使用有什么不同以及包装器数据类型的需求是什么?

我在网上搜遍了所有的答案,但所有答案都只是差异所在.我知道不同之处,但我不明白他们的应用程序的差异.

例如,假设我们必须采用两个浮点值,如果我们使用double,我们可以很容易地比较使用a==b,而如果我们使用Double,我们将不得不使用a.equals(b).

java primitive wrapper

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

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

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

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
查看次数

在JSF和JPA项目中使用POJO作为模型,是吗?

我正在使用JSF 2和JPA 2(EclipseLink 2.3)开发一个项目.在JSF 2中,我了解到我们必须将模型与Controller分开,并将相同的东西分离到View(感谢BalusC).但是现在有了JPA生成的POJO,我想知道豆子,模型,它现在应该是pojos.

我的观点是我的.xhtml页面,用JSF 2.0开发,它将与我的控制器交互,然后在控制器中调用DAO的类,然后在我的数据库中运行.

这是正确的吗 ?我的意思是在MVC的概念?我想做正确的事,任何提示?

提前致谢.

java mysql jsf jpa jsf-2

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

编程POJO和Bean之间的区别

我有以下两个班级.我可以说第一个是POJO类,第二个是Bean类吗?

1)POJO类,因为它只有getter和setter方法,所有成员都声明为private

public class POJO {
    private int id;
    private String name;

    public int getId() {
        return id;
    }

    public String getName() {
        return name;
    }

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

    public void setName() {
        this.name = name;
    }
}
Run Code Online (Sandbox Code Playgroud)

2)Bean类 - 所有成员变量都是私有的,具有getter和setter以及实现Serializable接口

public class Bean implements java.io.Serializable {
    private String name;
    private Integer age;

    public String getName() {
        return this.name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() { …
Run Code Online (Sandbox Code Playgroud)

java pojo javabeans

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