可以LAZY
使用HQL 覆盖LEFT JOIN FETCH
.
FROM Obj AS obj LEFT JOIN FETCH obj.otherObj WHERE obj.id = :id
Run Code Online (Sandbox Code Playgroud)
是否也可以覆盖EAGER
?怎么样?
实现equals()
和hashCode()
简单的数据POJO使我的代码混乱,维护繁琐.
有哪些库自动处理?
由于性能原因,我更喜欢字节码检测而不是AOP方法.
更新:已经讨论了实现equals()和hashCode()的必要性的主题,这是我的观点:
以最小的努力提前完成它而不是挖掘代码,添加hC/eq是不是更好?
我有我的html文件指令
<add />
<back />
Run Code Online (Sandbox Code Playgroud)
并且指令在表格上
.directive('add', ['$window', ...
Run Code Online (Sandbox Code Playgroud)
和
.directive('back', ['$window',
Run Code Online (Sandbox Code Playgroud)
这很好用.
如果我将指令更改为驼峰案例:
.directive('addPlayer', ['$window', ...
<add_player />
<back />
Run Code Online (Sandbox Code Playgroud)
和
<add:player />
<back />
Run Code Online (Sandbox Code Playgroud)
显示很好而
<add-player /> regular dash
<back />
Run Code Online (Sandbox Code Playgroud)
仅显示<add-player>
,之后的所有内容均未显示.
有什么想法吗?
编辑:
我在这里得到了同样的行为
在给定运行时值的情况下,我找不到一种简单的方法来注入组件/服务.
我开始阅读@ Spring的文档:http://docs.spring.io/spring/docs/current/spring-framework-reference/html/beans.html#beans-autowired-annotation-qualifiers 但我找不到如何变量传递给@Qualifier注释的值.
假设我有一个具有这种界面的模型实体:
public interface Case {
String getCountryCode();
void setCountryCode(String countryCode);
}
Run Code Online (Sandbox Code Playgroud)
在我的客户端代码中,我会做类似的事情:
@Inject
DoService does;
(...)
Case myCase = new CaseImpl(); // ...or whatever
myCase.setCountryCode("uk");
does.whateverWith(myCase);
Run Code Online (Sandbox Code Playgroud)
......我的服务是:
@Service
public class DoService {
@Inject
// FIXME what kind of #$@& symbol can I use here?
// Seems like SpEL is sadly invalid here :(
@Qualifier("${caze.countryCode}")
private CaseService caseService;
public void whateverWith(Case caze) {
caseService.modify(caze);
}
}
Run Code Online (Sandbox Code Playgroud)
我希望caseService是UKCaseService(参见下面的相关代码).
public interface CaseService {
void modify(Case caze); …
Run Code Online (Sandbox Code Playgroud) 我有一个RESTful API,他的文档说某个查询参数是可选的,并且不提供默认参数.因此,我可以提供值,也可以不在GET请求中将其作为参数发送.
例:
queryA
是必须的queryB
是可选的(GET
没有它可以发送)这应该工作:
http://www.example.com/service/endpoint?queryA=foo&queryB=bar
Run Code Online (Sandbox Code Playgroud)
这应该也有效:
http://www.example.com/service/endpoint?queryA=foo
Run Code Online (Sandbox Code Playgroud)
如何为Jersey-Proxy创建一个可以执行此操作的客户端界面?我没有与服务器端代码进行交互,因此我使用org.glassfish.jersey.client.proxy.WebResourceFactory
Jersey-Proxy来生成客户端以与服务器API进行交互.
样本界面:
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Response;
@Path("/service")
@Produces("application/json")
public interface ServiceInterface {
@Path("/endpoint")
@GET
public Response getEndpoint(
@QueryParam("queryA") String first,
@QueryParam("queryB") String second);
}
Run Code Online (Sandbox Code Playgroud)
我知道我可以制作另一种方法:
@Path("/endpoint")
@GET
public Response getEndpoint(
@QueryParam("queryA") String first);
Run Code Online (Sandbox Code Playgroud)
但是当你有多个可选字段时会发生什么?我不想让它们发生任何可能的变异!
假设我有这个命名范围,而不是A1.
idz01 idz04 ida02
foo a 1 b
bar c 3 8
baz 8 2 g
Run Code Online (Sandbox Code Playgroud)
现在我该如何获得第一行?和第N行?第N列怎么样?作为范围,使用内置功能.
编辑:第N行:=OFFSET(ObjednavkyData, N,0, 1)
最后一行:
=OFFSET(ObjednavkyData,
MAX(ARRAYFORMULA(ROW(ObjednavkyData)))-ROW(ObjednavkyData), 0, 1
)
Run Code Online (Sandbox Code Playgroud) 在IntelliJ中运行lint时,我收到警告"布尔方法总是反转".我的代码库中有几个类似的警告.哪种基本的编码风格,我错过了吗?
public static boolean isBlueToothEnabled(){
final BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if(bluetoothAdapter != null)
return bluetoothAdapter.isEnabled();
return false;
}
Run Code Online (Sandbox Code Playgroud) 当用户在Wicket文本字段中输入数字时,我需要捕获在AJAX onchange
事件中输入的值.我怎样才能做到这一点?
我有一个简单的XML,
<S xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"><H></H></S>
Run Code Online (Sandbox Code Playgroud)
我想找到所有"H"节点.
XElement x = XElement.Parse("<S xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"><H></H></S>");
IEnumerable<XElement> h = x.Descendants("H");
if (h != null)
{
}
Run Code Online (Sandbox Code Playgroud)
但是这段代码不起作用.当我从S标记中删除命名空间时,代码正常工作.
set -x
在bash中使用将shell扩展命令打印到stderr.我想将它们重定向到文件或管道.但不是整个输出 - 只有一些命令.就像是:
set -x command.txt ### <-- command.txt param is made up
echo $A $B
set +x
Run Code Online (Sandbox Code Playgroud)
这会将调试输出发送到命令.文本.
可以这样做吗?