使用例:
@OneToMany(mappedBy="item",cascade=CascadeType.ALL,fetch=FetchType.EAGER)
@Fetch(value=FetchMode.SUBSELECT)
两者比较:
两者都是设定关联对象的加载策略。前者是JPA标准的通用加载策略注解属性,
后者是Hibernate自有加载策略注解属性。
...
分类:
其他好文 时间:
2014-07-12 23:51:20
阅读次数:
369
接口继承和实现继承不同。在 public 继承下, derived classes 总是继承 base class 的接口
class Shape{
public:
virtual void draw() const = 0;
virtual void error(const std::string &msg);
int objectID() const;
//...
};
class Rectangle: public Shape{...};
class Ellipse: public Sha...
分类:
编程语言 时间:
2014-07-12 23:42:27
阅读次数:
251
经验:异常安全函数即使发生异常也不会泄漏资源或允许任何数据结构败坏。这样的函数区分为三种
可能的保证:
基本型-->发生异常,程序处于某个合法状态
强烈型-->发生异常,程序处于原先状态
不抛异常型-->承诺绝不抛出殿堂
示例:
class PrettyMenu{
public:
//...
void changeBackground(std::istream &imgSrc); //改变背景图像
//...
private:
Mutex mutex; //互斥器
Image *bgI...
分类:
编程语言 时间:
2014-07-12 21:35:16
阅读次数:
298
经验:绝对不要重新而来的缺省参数值,因为缺省参数值都是静态绑定,而 virtual 函数 -- 你唯一应该覆写的东西 -- 却是动态绑定
示例:
class Shape{
public:
enum ShapeColor {Red, Green, Blue};
virtual void draw(ShapeColor color = Red) const = 0;
};
class Rectangle: public Shape{
public:
virtual void draw(ShapeColor...
分类:
编程语言 时间:
2014-07-12 21:22:15
阅读次数:
278
经验:"public继承"意味 is-a。适用于 base classes 身上的每一件事情一定也适用于 derived classes 身上,
因为每一个 derived classes 身上,因为每一个 derived class 对象也都是一个 base class 对象。
示例:
class Person {...};
class Student: public Person {...};
void eat(const Person &p); //任何人都会吃
void study(const ...
分类:
编程语言 时间:
2014-07-12 21:18:25
阅读次数:
230
$links = array();
//获取系统菜单,所有权限都默认进行了验证
$links['case-edit']=menu_get_item('node/'.$row->nid.'/edit');
//自定义链接地址
$links['custom_url']=array(
'title' => t('custom_url'),
...
分类:
其他好文 时间:
2014-07-12 21:02:44
阅读次数:
236
经验:支持”编译依存性最小化“的一般构想是:相依于声明式,不要相依于定义式。
基于此构想的两个手段是 Handle classes 和 Interface classes.
示例:相依于定义式
#include
#include "date.h"
#include "address.h"
class Person{
public:
Person(const std::string &name, const Data &birthday, const Address &addr);
st...
分类:
编程语言 时间:
2014-07-12 19:39:46
阅读次数:
347
Problem Description
=== Op tech briefing, 2002/11/02 06:42 CST ===
"The item is locked in a Klein safe behind a painting in the second-floor library. Klein safes are extremely rare; most of them,...
分类:
其他好文 时间:
2014-07-12 19:19:42
阅读次数:
303
经验:绝对不要重新定义继承而来的 non-virtual 函数 --> Item 7 "为多态基类声明 virtual 析构函数" 是本条款的特例
示例:
class B{
public:
void mf();
//...
};
class D: public B{
public:
void mf(); // 遮掩了B::mf,Item 33 名称遮掩规则
}
D x;
B *pB = &x;
D *pD = &x;
pB->mf(); // 调用 B::mf
pD->mf(); // 调用 ...
分类:
编程语言 时间:
2014-07-12 19:09:10
阅读次数:
234
经验:derived classes 内的名称会遮掩 base classes 内的名称。在 public 继承下从来没有人希望如此。
C++ 的名称遮掩规则所做的唯一事情就是: 遮掩名称
derived class 作用域被嵌套在 base class 作用域里
class Base {
private:
int x;
public:
virtual void mf1() = 0;
virtual void mf1(int);
virtual void mf2();
void mf3();
v...
分类:
编程语言 时间:
2014-07-12 19:05:42
阅读次数:
224