我为我狂
EASYJF的狂人
我的首页
文章
相册
圈子
留言
管理
 
    当前所在页面:首页>>文章>>@POLoad标签的理解以及一些常识
@POLoad标签的理解以及一些常识
    作者:我为我狂 来源: 发表时间:2008-02-25

 
 

     在EasyJWeb中有一个标签是相当的有用,就是@POLoad的标签:

OLoad是在toPo方法调用时,
根据POLoad中定义的name属性传入的值(默认为id)作为对象的id,通过GenericDAO来自动加载标记的那个属性的类型对应的对象。
比如
@POLoad(name="myId")
private MyClass myClass;
就会在toPo的时候,得到myId传入的值,并且把这个值作为MyClass类型的id,去查询这个id对应的MyClass实例。

今天我也做了一个例子:

如:

这个是留言message的domain中的对象。里面有这个标记

@ManyToOne
@POLoad(name="userId")
 private User opUser;

说明,我在页面上有一个userid的表单就可以直接保存message的对象了。

如果没有这个@POLoad的标签来指明表opUser对应的表单时,你必须要通过这个表单的值来查询出User对象,然后在把他们关联在一起,才可以保存message这个域对象。

1、synchronized关键字的作用域有二种:

1)是某个对象实例内,synchronized aMethod(){}可以防止多个线程同时访问这个对象的synchronized方法(如果一个对象有多个synchronized方法,只要一个线程访问了其中的一个synchronized方法,其它线程不能同时访问这个对象中任何一个synchronized方法)。这时,不同的对象实例的 synchronized方法是不相干扰的。也就是说,其它线程照样可以同时访问相同类的另一个对象实例中的synchronized方法;

2)是某个类的范围,synchronized static aStaticMethod{}防止多个线程同时访问这个类中的synchronized static 方法。它可以对类的所有对象实例起作用。

2、除了方法前用synchronized关键字,synchronized关键字还可以用于方法中的某个区块中,表示只对这个区块的资源实行互斥访问。用法是: synchronized(this){/*区块*/},它的作用域是当前对象;

3、synchronized关键字是不能继承的,也就是说,基类的方法synchronized f(){} 在继承类中并不自动是synchronized f(){},而是变成了f(){}。继承类需要你显式的指定它的某个方法为synchronized方法;

 

JPA的@Embedded,通过此注释可以在你的Entity中使用一般的java对象,此对象需要用@Embeddable标注

public class Member extends User {
 @Field(name = "用户地址")
 @Embedded
 private Address address;
//get及set方法
}
@Embeddable
public class Address implements java.io.Serializable {
 @Column(length = 16)
 private String region;//区域

 @Column(length = 50)
 private String country;//国家

 @Column(length = 20)
 private String province;//省份

 @Column(length = 50)
 private String city;//城市

 @Column(length = 50)
 private String town;//乡镇

 @Column(length = 50)
 private String street;//街道

 @Column(length = 20)
 private String doorPlate;// 门牌号
//get及set方法

}

这样可以把Address的属性放在Member中,Member域对象生成的数据表中将会包含Address的这些字段。说明这个Address的域对象也可以集成到别的域对象中而成为该域对象的相应的字段,说明可以重用此域对象。

 
 

(阅读 )   评论数(:1)
评论】 【收藏】
评论:共1条
评论人: 匿名用户     评论时间: 2008-03-02 11:22:32

发表评论:
发表人:
评论: 
验证码:
请输入前面图中的四位验证码,字母不区分大小写
  
 
关于我们 | 诚聘英才 | 联系我们 | 广告业务 | 网站地图 | 法律声明

EasyJF开源团队版权所有  建议使用1024*768分辨率