我正在编写一个可以在多个网站上使用的组件.
每个网站都有自己的样式表,并以不同的方式显示某些内容.
我的所有html都包含在一个带有id的div中:
<div id="myComponent">...</div>
Run Code Online (Sandbox Code Playgroud)
然而,我的组件在所有站点中看起来都是一致的.
这很好,因为我将样式应用于组件中的大多数属性.
div#myComponent p {font-size:11px;} etc
Run Code Online (Sandbox Code Playgroud)
但是我遇到了一个从所有输入字段中删除边框的网站
input {border: medium none;}
Run Code Online (Sandbox Code Playgroud)
我需要为组件中的输入字段"取消应用"此指令,并且最好使用浏览器的默认样式作为输入,因为边框样式input type="text"需要与之不同input type="button".
你会怎么做到这一点?
我发现在我们反弹(停止并启动)我们的数据库(postgresql 8.3)之后,我们使用hibernate(3.2.6)的应用程序无法重新获取连接,而是使用消息"broken pipe"获取SocketException .
我相信我们已配置为使用内置连接池.
如何在数据库重启后重新获取连接而不重新启动应用程序?
页.
我有一个由以下映射的关联:
@Entity
public class Parent
{
...
@Id
@Column(name = "parent_id")
private Long id;
@OneToMany(mappedBy = "parent")
@OrderBy("id")
private List<Child> children;
...
}
@Entity
public class Child
{
...
@Id
@Column(name = "child_id")
private Long id;
@ManyToOne
@NotFound(action = NotFoundAction.IGNORE)
@JoinColumn(name = "parent_id")
private Parent parent;
@Column
private Boolean enabled;
...
}
Run Code Online (Sandbox Code Playgroud)
我想使用Criteria API返回Parent包含一个或多个Child具有该属性的实体的所有实体的列表enabled=false.我不希望children查询过滤映射的集合.
例如,给出以下内容:
Parent A
- Child A enabled=true
- Child B enabled=false
Parent B
- Child A enabled=false
- …Run Code Online (Sandbox Code Playgroud) 我有一些逻辑删除的记录(即active=false)导致我的@ManyToOne映射出现问题,因为连接列返回了多个结果.
我只需要包含active=true我认为可以实现的记录:
@ManyToOne
@NotFound(action = NotFoundAction.IGNORE)
@JoinColumn(name = "site_id", referencedColumnName = "site_id", insertable = false, updatable = false)
@WhereJoinTable(clause = "active=true")
private Site site;
Run Code Online (Sandbox Code Playgroud)
但是,似乎WhereJoinTablehibernate没有使用它(也许它只对它有效OneToMany?),因为active=true它不会出现在生成的SQL(日志)中,并且问题仍然存在.
是否可以为a ManyToOne和如何连接包含where子句?
我正在使用postgresql,hibernate-spatial和postgis,并期望能够使用SqlQuery来检索Geometry对象.
但是,每当我尝试查询点,多边形或几何时,例如
List list = session.createSQLQuery(
"select geomfromewkt('SRID=1;POINT(1 1)')").list();
Run Code Online (Sandbox Code Playgroud)
我得到了例外:
Caused by: org.hibernate.MappingException: No Dialect mapping for JDBC type: 1111
at org.hibernate.dialect.TypeNames.get(TypeNames.java:78)
at org.hibernate.dialect.TypeNames.get(TypeNames.java:103)
at org.hibernate.dialect.Dialect.getHibernateTypeName(Dialect.java:328)
at org.hibernate.loader.custom.CustomLoader$Metadata.getHibernateType(CustomLoader.java:590)
at org.hibernate.loader.custom.CustomLoader$ScalarResultColumnProcessor.performDiscovery(CustomLoader.java:516)
at org.hibernate.loader.custom.CustomLoader.autoDiscoverTypes(CustomLoader.java:532)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1962)
at org.hibernate.loader.Loader.doQuery(Loader.java:802)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274)
at org.hibernate.loader.Loader.doList(Loader.java:2533)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2276)
at org.hibernate.loader.Loader.list(Loader.java:2271)
at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:316)
at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1842)
at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:165)
at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:157)
Run Code Online (Sandbox Code Playgroud)
hibernate.cfg.xml中:
<property name="dialect">org.hibernatespatial.postgis.PostgisDialect</property>
Run Code Online (Sandbox Code Playgroud)
这不是hibernate-spatial产品的一部分,还是我做错了什么?
谢谢,保罗.
相关库/版本:
由于其他原因,我有一个需要在我当地时区运行的程序,但对于一个程序,我需要在GMT中使用SimpleDateFormat输出日期.
最简单的方法是什么?
我正在尝试使用apache commons-net进行ftp文件传输.
问题是文件间歇性地到达服务器损坏.'腐败'我的意思是winrar告诉我一个zip文件有一个'意外的归档结束'.有时文件是完全空的.我注意到,对于较大的文件(100kb +),这种情况更多,但对于小文件也会发生(20kb).
我知道上传的源zip文件是有效的,只有243kb.
我没有从代码中得到任何错误/异常.
这是正在执行的代码:
try
{
int CON_TIMEOUT = (int) TimeUnit.SECONDS.toMillis(20); // fail if can't connect within 20 seconds
int LIVE_TIMEOUT = (int) TimeUnit.MINUTES.toMillis(5); // allow up to 5 minutes for data transfers
FTPClient client = new FTPClient();
client.setConnectTimeout(CON_TIMEOUT);
client.setDataTimeout(LIVE_TIMEOUT);
client.connect(host);
client.setSoTimeout(LIVE_TIMEOUT);
client.login(user, pass);
client.changeWorkingDirectory(dir);
log("client ready");
File file = new File(filePath);
String name = new Date().getTime() + "-" + file.getName();
InputStream fis = null;
try
{
fis = new FileInputStream(file);
if (!client.storeFile(name, fis))
throw new RuntimeException("store …Run Code Online (Sandbox Code Playgroud) 作为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关系不存在的值.
我希望能够在不为同一个表创建两个映射的情况下解决这个问题.
谢谢. …
我显然很难理解这一点,所以非常感谢...
我有以下映射:
@Entity
@Table(name = "parent")
public class ParentEntity
{
...
@Id
@Column(name = "parent_id")
private Long id;
...
@OneToMany(mappedBy = "parent", fetch = FetchType.EAGER)
private List<ChildEntity> children;
...
}
@Entity
@Table(name = "child")
public class ChildEntity
{
...
@Id
@Column(name = "child_id")
private Long id;
...
@ManyToOne(fetch = FetchType.EAGER)
@NotFound(action = NotFoundAction.IGNORE)
@JoinColumn(name = "parent_id")
private ParentEntity parent;
...
}
Run Code Online (Sandbox Code Playgroud)
在我的数据库中我有:
parent
------
parent_id: 1
child
------
child_id: 1, parent_id: 1
Run Code Online (Sandbox Code Playgroud)
然而
((Parent) session.get(Parent.class, 1)).getChildren()
Run Code Online (Sandbox Code Playgroud)
返回null.
任何人都能看到我失踪的东西吗?
谢谢,p.
编辑 …
有没有办法确定当前运行的反应本机应用程序是否是调试版本?专门针对 Android,但希望与平台无关。