我有两个数据库实体:Forum和Topic.
Topic有protected long forumId数据成员,当然表示Topic论坛.
我的问题是这个数据成员使用的注释是什么?
我认为这是一个简单的问题.我已经看过两种方式的例子.问题是 - "为什么我不能把我的注释放在场上?".让我给你举个例子....
@Entity
@Table(name="widget")
public class Widget {
private Integer id;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public Integer getId() { return this.id; }
public Integer setId(Integer Id) { this.id = id;}
}
Run Code Online (Sandbox Code Playgroud)
上面的代码工作正常(假设那里没有拼写错误).当注释被放置在物业的吸气剂上时,一切都是完美的.
然而,这对我来说似乎很尴尬.在我看来,将注释放在场上比较清晰,就像这样 -
@Entity
@Table(name="widget")
public class Widget {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Integer id;
public Integer getId() { return this.id; }
public Integer setId(Integer Id) { this.id = id;}
}
Run Code Online (Sandbox Code Playgroud)
我见过两种方式的例子.但是,当我运行第二个例子时,我得到以下内容......
java.lang.NullPointerException
at com.widget.util.hibernate.HibernateSessionFactory$ThreadLocalSession.initialValue(HibernateSessionFactory.java:25)
at com.widget.util.hibernate.HibernateSessionFactory$ThreadLocalSession.initialValue(HibernateSessionFactory.java:1)
at java.lang.ThreadLocal$ThreadLocalMap.getAfterMiss(Unknown Source)
at java.lang.ThreadLocal$ThreadLocalMap.get(Unknown Source)
at java.lang.ThreadLocal$ThreadLocalMap.access$000(Unknown Source)
at java.lang.ThreadLocal.get(Unknown Source)
at com.widget.util.hibernate.HibernateSessionFactory.get(HibernateSessionFactory.java:33) … 在我的项目中,我们使用了许多注释,这些注释在javadoc API文档中非常有用.
有谁知道在生成的javadocs中包含注释的简单方法?我不想写自己的javadoc插件.那里有解决方案吗?
是否有区别:
我有一个似乎是一个简单的问题,正如标题中所述.这是我的课程类型:
public class Foo {
@Autowired
public Foo(@Qualifier("bar") Set<String> bar) {
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试使用以下spring语境运行:
<context:annotation-config />
<util:set id="bar">
<value>tata</value>
<value>titi</value>
<value>toto</value>
</util:set>
<bean id="foo" class="Foo" />
Run Code Online (Sandbox Code Playgroud)
这无法运行:
没有为依赖[java.lang.String的集合]找到匹配的类型为[java.lang.String]的bean:期望至少有一个bean可以作为此依赖项的autowire候选者.依赖注释:{@ org.springframework.beans.factory.annotation.Qualifier(value = bar)}
请注意,如果我将其他参数添加到我的构造函数中,它可以正常工作.如果我使用setter注入,它工作正常.我敢肯定我会错过一些明显的东西......你知道吗?
我正在尝试使用Beginning Hibernate第二版,而我却试图将简单的工作示例与HSQLDB放在一起.
当我跑步时ant populateMessages,我明白了
[java] org.hibernate.MappingException: Unknown entity: sample.entity.Message
[java] at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:194)
[java] at org.apache.tools.ant.taskdefs.Java.run(Java.java:747)
...
Run Code Online (Sandbox Code Playgroud)
这是我得到的:
Message.java
package sample.entity;
import org.hibernate.annotations.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
public class Message
{
private String messageText;
private Integer id;
public Message( String messageText )
{
this.messageText = messageText;
}
public Message()
{
}
public String getMessageText()
{
return messageText;
}
public void setMessageText(String messageText)
{
this.messageText = messageText;
}
@Id
@GeneratedValue
public Integer getId()
{
return id;
} …Run Code Online (Sandbox Code Playgroud) 在JSF请求处理生命周期的哪个阶段,用@PostConstruct标记的支持bean方法调用?
在Java 5之前,没有注释.因此,您无法向类添加元数据.
要将类标记为可序列化,您必须实现Serializable接口(这只是一个标记)并使用更多transient关键字将字段标记为不可序列化(如果需要),例如:
public class MyClass implements Serializable {
...
private transient Bla field;
...
}
Run Code Online (Sandbox Code Playgroud)
现在你理论上可以使用注释(这对他们来说是完美的用途)并且具有:
@Serializable
public class MyClass {
...
@Transient
private Bla field;
...
}
Run Code Online (Sandbox Code Playgroud)
但是不推荐使用接口和关键字,并且在Java 5中没有添加注释来替换它们.
保留界面和关键字的决定有哪些考虑因素?
当然,存在与Java 5之前的代码兼容的问题,但在某些时候它将结束(例如,与泛型的新功能相关,JLS指定未来版本的Java编程语言可能会禁止使用原始类型).那么为什么不为序列化注释做准备呢?
有什么想法吗?(虽然我更喜欢具体的参考文献:D 我无法找到)
我正在尝试使用Butter Knife来简化自定义BaseAdapter类的创建.我在这里的例子如下:http://jakewharton.github.io/butterknife/在"另一个用途是简化列表适配器内的视图持有者模式".部分.不幸的是,每次为列表中的每个项目创建ViewHolder时,我都会收到"无法注入视图"错误.
这是我的代码:
public class ButterknifeCustomBaseAdapter extends BaseAdapter{
@Override
public int getCount() {
return arrayListNames.size();
}
@Override
public Name getItem(int iPosition) {
return arrayListNames.get(iPosition);
}
@Override
public long getItemId(int iID) {
return 0;
}
LayoutInflater inflater;
ArrayList<Name> arrayListNames = new ArrayList<Name>();
static Context context;
Activity activity;
public ButterknifeCustomBaseAdapter(Context context, ArrayList<Name> names, Activity activity) {
arrayListNames = names;
this.context = context;
inflater = LayoutInflater.from(this.context);
}
static class ViewHolder implements View.OnClickListener {
@InjectView(R.id.textViewFullName) TextView textViewFullName;
@InjectView(R.id.imageButtonDeleteName) TextView imageButtonDeleteName; …Run Code Online (Sandbox Code Playgroud) Spring文档在描述事务传播属性方面做得非常出色.
但是,我想知道是否有任何众所周知的现实世界的例子可以用外行的方式更全面地描述这些属性?
annotations ×10
java ×9
hibernate ×3
spring ×2
android ×1
baseadapter ×1
butterknife ×1
cascade ×1
java-5 ×1
javabeans ×1
javadoc ×1
jpa ×1
jsf ×1
metadata ×1
orm ×1
propagation ×1