作为hibernate可选join的后续内容
系统中的许多现有查询依赖于EntityOne和EntityTwo之间存在映射关系,并且更改它不是一个attactive选项,但是我现在需要开始存储和检索tbl_one.two_id连接表中不存在的值.在进入的过程中,这适用于以下映射:
@Entity
@Table(name="tbl_one")
public class EntityOne
{
....
@ManyToOne
@NotFound(action = NotFoundAction.IGNORE)
@JoinColumn(name = "two_id")
private EntityTwo two;
....
}
Run Code Online (Sandbox Code Playgroud)
但是,在查询时,如果结果的值two_id在连接表中不存在,则该字段的two值为null,我无法确定tbl_one.two_id实际值是什么.我希望hibernate会创建一个虚拟EntityTwo对象并仅在关系不存在时填充它的id字段.
我也尝试过映射two_id到没有连接的另一个字段:
@Entity
@Table(name="tbl_one")
public class EntityOne
{
....
@ManyToOne
@NotFound(action = NotFoundAction.IGNORE)
@JoinColumn(name = "two_id", insertable = false, updatable = false)
private EntityTwo two;
@Column(name = "two_id")
private String twoId;
....
}
Run Code Online (Sandbox Code Playgroud)
...但是two即使存在相应的记录,也不会填充该字段.
基本上我需要一些方法来插入/更新一个值,如果关系存在则tbl_one.two_id检索一个连接的实体EntityTwo,或者只是tbl_one.two_id关系不存在的值.
我希望能够在不为同一个表创建两个映射的情况下解决这个问题.
谢谢. …
我试图在struts 2中创建一个小型登录应用程序.我的web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>StrutsPrj</display-name>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>Login.jsp</welcome-file>
</welcome-file-list>
</web-app>
Run Code Online (Sandbox Code Playgroud)
struts.xml中:
<struts>
<package name="default" extends="struts-default" namespace="/">
<action name="login" method="execute"
class="struts2.LoginAction">
<result name="success">Welcome.jsp</result>
<result name="error">Login.jsp</result>
</action>
</package>
</struts>
Run Code Online (Sandbox Code Playgroud)
login.jsp的:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Login Screen - Struts 2</title>
</head>
<body>
<s:actionerror />
<s:form …Run Code Online (Sandbox Code Playgroud) 我有一个包含几个项目的解决方案.如何从Visual Studio单独启动每个项目?
我有这样的元素
<input type='select' class='MultiSelect' id='myId'>
Run Code Online (Sandbox Code Playgroud)
现在我想获得一个选择框的值,它必须有MultiSelect类,并且还必须有myid id.
这该怎么做 ?
谢谢
如何在上传时检索图像的文件扩展名?
我没有上传任何问题,只是检索文件扩展名,这在动态创建缩略图时很有用.
谢谢
假设你有一些HTML,
<input id="mytextbox" type="text" value="hello world" />
Run Code Online (Sandbox Code Playgroud)
并且你想在加载后立即在该文本框上做一些魔术.无论如何,可能会在它旁边添加某种小部件或按钮.我知道有两种方法可以做到这一点.你可以在这里抛出一些像这样的jQuery<head>
$(function() {
$('#mytextbox').magic();
});
Run Code Online (Sandbox Code Playgroud)
并且一旦整个DOM准备好就会运行,但是如果我们想要更快的话呢?元素加载后很快?
我们可以在元素之后立即放置JS:
<input id="mytextbox" type="text" value="hello world" />
<script>
$('#mytextbox').magic();
</script>
Run Code Online (Sandbox Code Playgroud)
但是这有点麻烦,为什么在我们确切地知道它的位置时我们必须在整个DOM中搜索元素ID?onclick事件有this争论.我们有什么方法可以做这样的事......
<input id="mytextbox" type="text" value="hello world" onload="$(this).magic()" />
Run Code Online (Sandbox Code Playgroud)
?将是最好的解决方案IMO,但只有身体onload显然有一个事件,没有其他事件似乎合适.如果我们想要在加载元素后立即运行一些代码,我们基本上还是要解决方案#2吗?
该replace函数返回带有替换的新字符串,但如果没有要替换的单词,则返回原始字符串.除了将结果与原始字符串进行比较之外,有没有办法知道它是否实际上取代了什么?
我喜欢MVVM Light的Messenger及其灵活性,但是当我忘记明确取消注册收件人时(在Silverlight 4中),我遇到了内存泄漏.
原因在这里解释,但我很好,因为我认为明确取消注册收件人是一个好习惯,而不是依赖于Messenger使用弱引用.问题是说起来容易做起来难.
ViewModel很简单:您通常可以完全控制它们的生命周期,并且可以Cleanup()在不再需要它们时使用它们.
另一方面,视图更加棘手,因为它们是通过DataTemplates实例化和销毁的.对于前者 你可以把ItemsControlwith MyView和DataTemplate 想象成一个ObservableCollection<MyViewModel>.该MyView控件创建/绑定引擎收集的,你有没有什么好办法对他们手动调用清理().
我有一个解决方案,但想知道它是否是一个体面的模式或有更好的选择.我们的想法是从ViewModel发送一条特定的消息,告诉相关的View处理:
public class MyViewModel : ViewModelBase
{
...
public override void Cleanup()
{
// unregisters its own messages, so that we risk no leak
Messenger.Default.Unregister<...>(this);
// sends a message telling that this ViewModel is being cleaned
Messenger.Default.Send(new ViewModelDisposingMessage(this));
base.Cleanup();
}
}
public class MyView : UserControl, ICleanup
{
public MyView()
{
// registers to messages it actually …Run Code Online (Sandbox Code Playgroud) 我有两个java文件.在第一个我有我的活动,从应用程序启动时开始.第二个叫做"AuswahlActivity.java"和xml文件"auswahl.xml".我有这个代码到AuswahlActivity.java:
public class AuswahlActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.auswahl);
//Your code here
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想开始这样的活动:
Intent myIntent = new Intent(this, AuswahlActivity.class);
this.startActivity(myIntent);
Run Code Online (Sandbox Code Playgroud)
但是我收到了错误消息 The constructor Intent(new View.OnClickListener(){}, Class<AuswahlActivity>) is undefined
我该如何工作?
我使用下面的代码来衡量读取内存映射文件的大型顺序读取之间的性能差异,而不是仅仅调用ReadFile:
HANDLE hFile = CreateFile(_T("D:\\LARGE_ENOUGH_FILE"),
FILE_READ_DATA, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING,
FILE_FLAG_NO_BUFFERING, NULL);
__try
{
const size_t TO_READ = 32 * 1024 * 1024;
char sum = 0;
#if TEST_READ_FILE
DWORD start = GetTickCount();
char* p = (char*)malloc(TO_READ);
DWORD nw;
ReadFile(hFile, p, TO_READ, &nw, NULL);
#else
HANDLE hMapping = CreateFileMapping(hFile, NULL, PAGE_READONLY,
0, 0, NULL);
const char* const p = (const char*)MapViewOfFile(hMapping,
FILE_MAP_READ, 0, 0, 0);
DWORD start = GetTickCount();
#endif
for (size_t i …Run Code Online (Sandbox Code Playgroud) javascript ×3
html ×2
jquery ×2
.net ×1
android ×1
c# ×1
codeigniter ×1
file-upload ×1
hibernate ×1
java ×1
mvvm ×1
mvvm-light ×1
performance ×1
regex ×1
replace ×1
silverlight ×1
struts2 ×1
winapi ×1