对于每个@Entity,我需要执行以下操作:
public <Entity> boolean insert(final Entity entity){
if (em.find(entity.getClass(), entity.getId()) == null) {
et.begin();
em.persist(entity);
et.commit();
return true;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
如果实体不存在,那就是持久存在,并知道它是否存在.有了实体,我正试图到达@Entity,虽然我意识到这不是继承关系.我可以用什么类来引用每个JPA实体?我可以创建一个接口/抽象类MyEntities并让所有这些继承,但是这样吗?我希望减少代码.此外,当我尝试使用.getId()时,我希望能够提取每个实体的主键.
我刚刚测试了退格转义,如下所示:
System.out.println("Hello\b");
Run Code Online (Sandbox Code Playgroud)
我希望得到输出:地狱
但它是:"你好"的方块
有谁知道java如何处理这个?
我阅读官方文档和大量的线程,但仍然找不到我的情况的解决方案.我的情况非常基本.我有2个实体:评论和关键字.一条评论可以包含许多关键字,但每个关键字仅适用于一条评论.关键字在关键字表格中不是唯一的.所以我认为这是一对多的关系.表结构简单如下:
关键字
id int(11)
comment_id int(11)
text varchar(30)
Run Code Online (Sandbox Code Playgroud)
评论
id int(11)
text text
Run Code Online (Sandbox Code Playgroud)
这是我如何映射它们:
/**
* @Entity
* @Table(name="comments")
**/
class Comments
{
/** @Id @Column(type="integer") */
private $id;
/** @Column(type="text") */
private $text;
/**
* @OneToMany(targetEntity="keywords", mappedBy="comment_id")
*/
private $keywords;
public function getText(){return $this->text;}
public function getId(){return $this->id;}
public function getKeywords(){return $this->keywords;}
}
/**
* @Entity
* @Table(name="keywords")
*/
class Keywords
{
/** @Id @Column(type="integer") */
private $id;
private $text;
public function getText(){return $this->text;}
public …Run Code Online (Sandbox Code Playgroud) HTML:
<div class="first" id="first_id">
<div class="second">text sample</div>
<div class="third"><button type="submit" class="some_class" id="some_id">send</button></div>
</div>
Run Code Online (Sandbox Code Playgroud)
jQuery的:
$("#some_id").click(function() {
var test = $(this).closest('.first').attr('id');
..
return false;
});
Run Code Online (Sandbox Code Playgroud)
我想在上面的jquery代码中使用var"test"替换"first"div的内容.就像是:
$("."+test).html('<img src="img/spin.gif">');
Run Code Online (Sandbox Code Playgroud)
但是,当我将这部分代码放在上面的函数中时,它不起作用.我做错了什么?
我想编写一个组合框的XAML模板来增加项目之间的空格/填充.我搜索了这个,但几乎最终得到了ItemsPresenter:
<ItemsPresenter x:Name="ItemsPresenter"
KeyboardNavigation.DirectionalNavigation="Contained"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
Run Code Online (Sandbox Code Playgroud)
如何使用此模板格式化项目(边框,填充,字体...)?请帮忙.
我有一个关于在代码中使用dispatcherTimer的问题.请看下面我的情况:
private void CheckShow(object sender, System.Windows.RoutedEventArgs e)
{
DispatcherTimer dispatcherTimer = new DispatcherTimer();
dispatcherTimer.Interval = new TimeSpan(0, 0, 0, 0, 1);
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
dispatcherTimer.Start();
string etime = DateTime.Now.Second.ToString();
}
private void dispatcherTimer_Tick(object sender, EventArgs e)
{
if(System.IO.File.Exists(@"C:\Default.xml"))
{
LoadingRecent.Text = "Loading Default Show...";
LoadBar.Opacity = 100;
string time1 = DateTime.Now.Millisecond.ToString();
string time2 = DateTime.Now.Second.ToString();
double huidigetijd = System.Convert.ToDouble(time2 + "." + time1);
LoadBar.Value = huidigetijd;
Remainingnummer.Text = Convert.ToString(10 - DateTime.Now.Second);
string etime = DateTime.Now.Second.ToString();
if (etime == "10") …Run Code Online (Sandbox Code Playgroud) 我在html5画布中有一个涂鸦应用程序,我正在试图找出实现橡皮擦控件的最佳方法.第一个冲动只是让橡皮擦绘制背景颜色[白色],但这是有问题的,因为如果用户将图像或其他图层移动到之前擦除的位置,他们会看到白色图纸被删除的位置.
理想情况下,我希望擦除控件将像素更改为黑色透明.我不能简单地使用lineTo来做这件事,因为很明显,它只是在它上面绘制一条黑色透明线,这样就不会触及原始涂层.关于如何做到这一点的任何想法?
谢谢.
我希望使用xsd,希望JAXB解组失败.但事实并非如此.为什么?
JAXB正在读取一个模式(如果模式XML是错误的,JAXB给出了一个异常),但它接触到JAXB在读取时忽略了模式.
SchemaFactory sf = SchemaFactory.newInstance(javax.xml.XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = sf.newSchema(getClass().getResource( "/schema1.xsd"));
JAXBContext context = JAXBContext.newInstance(Customer.class);
Unmarshaller unmarshaller = context.createUnmarshaller();
unmarshaller.setSchema( schema );
Customer c = JAXB.unmarshal(file, Customer.class);
Run Code Online (Sandbox Code Playgroud)
编写的XML就是这样开始的:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:customer xmlns:ns2="http://bla.com/">
Run Code Online (Sandbox Code Playgroud)
即使附加的ValidationEventCollector也没有提供任何信息:
unmarshaller.setEventHandler(new JAXBEventCollector());
Run Code Online (Sandbox Code Playgroud)
JAXBEventCollector是:
class JAXBEventCollector extends ValidationEventCollector
{
@Override
public boolean handleEvent(ValidationEvent event)
{
System.out.println(event.getLocator());
return true;
}
}
Run Code Online (Sandbox Code Playgroud) 我分析了iPhone dev论坛的"SpeakHere"示例代码.
有一个启动AudioQueue的代码,如下所示..
AudioTimeStamp ats = {0};
AudioQueueStart(mQueue, &ats);
Run Code Online (Sandbox Code Playgroud)
但我不知道如何开始文件中间.
我更改了AudioTimeStamp,其中包含各种值为负数.但它不起作用.
请让我知道你的好评.谢谢.